The present invention relates to telecommunication, and more particularly to computer processing of metered information regarding communication services.
Known communication billing systems meter usage of telephone services and prepare billing based traditionally on time and distance of telephone calls. While such billing systems met the needs of telephone companies for many years, the telecommunication market is experiencing fundamental changes giving rise to a need for new billing systems, which are more flexible and robust. These changes are driven by worldwide deregulation, privatization, increased competition, and new communications technologies, such as the Internet, and the advent of Internet-Protocol (IP) networks.
With increased competition among aggressive new entrants and diversifying telephone service companies in the burgeoning telecommunication market, margins on voice and other services are under pressure. Consequently, network service providers (NSPs) and downstream, independent service providers (ISPs) are looking at ways to differentiate themselves from their competition. One way is to offer value-added services packages, often called xe2x80x9cproductsxe2x80x9d, including, for example, an ever-changing variety of telephone calling plans. Other such value-added services include video-on-demand, Web hosting, and streaming media. These value-added services are not typically billed like traditional telephony, but rather pursuant to special or even customized billing plans. Special pricing may apply depending on total or aggregate usage, calling xe2x80x9ctime of dayxe2x80x9d or xe2x80x9cday of the weekxe2x80x9d, or combinations of services purchased. Many value-added services are packaged for particular market segments, such as residential, small business or enterprise, and carry different rates depending on segment. Some provide subscribers with a menu of telecommunication services from which to choose, often with a number of billing options for each.
One problem that arises relates to integration of such new value added services into existing billing systems. Traditionally, NSPs used large mainframe computers and custom-designed billing software that typically required months for modification for integration of new value added services and their accompanying billing plans. Such modifications to existing billing systems represented a high overhead, in terms of cost and time, associated with rollout of new value added services. For example, when a major NSP introduced a new telephone plan for residential customers called xe2x80x9cFriends and Family(trademark)xe2x80x9d, it enjoyed a nine month lead over its competitors who were delayed in introducing similar products by the time it took to modify their existing billing systems. Lengthy delay in xe2x80x9ctime to marketxe2x80x9d can cost NSPs and ISVs significantly in revenue and market share.
New service products arising from new technologies introduce complications as well, because NSPs and ISVs frequently want such services to be bundled with traditional services as a unified package, or, at their option, billed as single or separate products. Traditional billing platforms do not usually provide such flexibility in billing.
Moreover, NSPs and ISVs may wish to meter, monitor usage, and generate usage reports for a variety of reasons other than bill preparation. It may prove useful for NSPs and ISVs to meter services, even though they do not currently bill customers for such services, in order to determine whether they should start billing for such services in the future. For other services, NSP and ISVs may rely on usage-graduated billing plans to charge for excessive network use and thereby discourage potential network bottlenecks. Such billing schemes typically charge users only when usage crosses a preset threshold, and thus such services require metering for comparing actual usage against the threshold.
To illustrate the complexity involved with billing, a universal messaging service may offer fax, voice, video, pager, and email capabilities. Most users would currently assume that everything except email should be metered and billed; email is usually regarded today as xe2x80x9cfreexe2x80x9d. Unfortunately, spamming is common practice and email files containing attachments are increasing in size. One can imagine an NSP creating a services billing plan that allows users to send, for example, 5000 emails and 100 MB of traffic per month for free as part of a messaging service, but then apply usage-based charges for anything above those levels. Data volume is a common reason for metering high-volume services.
It would be desirable to provide NSPs and ISPs with flexible billing platforms that enable rapid deployment of new value added service offerings. Such platforms should enable rollout of new services, e.g., within weeks, and new releases, upgrades or updates several times a year without interrupting billing activity. Preferably, such platforms would reduce overhead associated with the rollout, and provide an xe2x80x9cend-to-endxe2x80x9d solution to billing for such new services.
It would also be desirable to provide a system for enabling NSPs and ISPs to have real-time access to unified billing data based on customer usage of new value added services. This would enable NSPs and ISPs to track customer usage for purposes of business management, and implement appropriate changes to value added services as indicated by the usage data.
In accordance with the principles of the invention, data processing is performed by multiple xe2x80x9cplug-inxe2x80x9d processing modules controlled by an execution management framework. The framework includes an order determining mechanism that controls the plug-in processing modules to execute in series, or in parallel, to speed processing by the plug-ins while accommodating computational dependencies.
In one embodiment, the order determining mechanism can include a dependency counter associated with each plug-in processing module for determining an operational sequence position of the associated plug-in processing module, and means for conditioning the count value (e.g., decrementing or incrementing the count value) in response to operation of another of the plug-in processing modules on whose output the associated plug-in processing module depends, so that the associated plug-in processing module will commence operation in the proper order when the count value reaches a predetermined value.
In another embodiment, the plug-in processing modules can operate in parallel and the order determining mechanism initiates data processing in all plug-in modules whose associated count values are the same smallest value.
In still another embodiment, after all plug-in modules that are processing data in parallel have finished processing, the order determining mechanism updates all counter values and sorts the counter values to determine the plug-in modules with the smallest count value. Processing is then initiated in those plug-in modules whose count value is the smallest value.